Computer clusters typically include multiple nodes that collectively perform one or more computing tasks. In a disaster-recovery solution, a computer cluster (such as a campus cluster) may include multiple mirrored volumes located at different sites. By maintaining multiple mirrored volumes at different sites, the computer cluster may prevent or mitigate data loss in the event of a disaster or system failure.
Many computer-cluster configurations include separate inter-site communication links for network and storage traffic for cost and convenience reasons. In such configurations, a computer cluster may experience a communication failure that severs the inter-site storage-communication link but leaves the inter-site network-communication link intact. Unfortunately, if a communication link that enables nodes to communicate with mirrored volumes located at different sites fails or becomes disconnected, the nodes within the cluster may experience I/O errors upon attempting to access mirrored volumes located at different sites. Such I/O errors may lead to application unavailability and/or data inconsistency within the computer cluster.
In an attempt to avoid such computing difficulties, traditional storage management software installed on the computer cluster may detach all mirrored volumes located at the site where the first I/O error was detected. However, since the first I/O error may be detected at any site within the computer cluster, users are generally unable to accurately predict the site(s) at which the traditional storage management software will ultimately detach the mirrored volume(s) in the event of a disaster or system failure. As such, the instant disclosure identifies a need for systems and methods for preventing application unavailability and data inconsistency within computer clusters in an effective, predictable manner.